op2: pin expected container_measurement + detailed mismatch error - #94
Merged
Merged
Conversation
- RALPH_EXPECTED_MEASUREMENT (64-hex) pins op2's expected measurement to the PUBLISHED prooftest image, decoupling it from the validator box's LIVE tree. Fixes: running a dev branch / unpushed proof-source code on the box silently recomputed a measurement no miner could reproduce -> op2 rejected everyone. Falls back to live compute when unset. Not a security relaxation (op2 still requires a real CC attestation binding to the value); update only on a cutover. - detailed reject: on a container_measurement mismatch, op2 now names got vs expected + the canonical image + the verify one-liner, instead of an opaque 'mismatch' — miners no longer have to guess the target. - both live in validator.py (NOT a proof source) so they are measurement-neutral; verified main + recipe c813831 still hashes to eee78494. - RALPH_CANONICAL_SOURCE_COMMITS path already exists for the version-drift message. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
karpabot
force-pushed
the
fix/op2-measurement-pin
branch
from
July 3, 2026 12:23
20e8d0f to
e31b1a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the recurring op2 breakage where running a dev branch / unpushed proof-source code on the validator box silently recomputes a container_measurement no miner can reproduce, rejecting everyone.
RALPH_EXPECTED_MEASUREMENT(64-hex) pins op2's expected measurement to the published prooftest image, decoupling it from the box's live tree. Falls back to live compute when unset. Not a security relaxation — op2 still requires a real CC attestation binding to the value. Update only on a deliberate image cutover.got X, expected eee78494… — rebuild inside ghcr.io/ralphlabsai/ralph-prooftest:v0.2.4+ the verify one-liner, instead of an opaque 'mismatch'.validator.py(not a proof source), so they're measurement-neutral — verified main + recipec813831still hashes toeee78494.🤖 Generated with Claude Code